﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using EntidadesCompartidas;
using Logica;
using System.IO;

namespace Smart_House_System.Administrador
{
    public partial class Formulario_web11 : System.Web.UI.Page
    {
        private static int idCasa = 0;

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnCancelar_Click(object sender, EventArgs e)
        {
            Response.Redirect("Default.aspx");
        }

        protected void btnSiguiente_Click(object sender, EventArgs e)
        {
            try
            {
                Usuario usu = new Usuario();
                usu.Ci = int.Parse(txtCedula.Text);
                string _nombreArchivoFoto = Path.GetFileName(flpFoto.PostedFile.FileName);
                string _rutaFoto = Server.MapPath("~") + "Fotos\\" + _nombreArchivoFoto;
                FabricaLogica.getLogicaCasa().ModificarCasa(new Casa(idCasa, "..\\Fotos\\" + _nombreArchivoFoto, txtDir.Text, null));
                string _rutaFotoToClear = Server.MapPath("~") + "Fotos\\";
                //File.Delete(_rutaFotoToClear);
                flpFoto.PostedFile.SaveAs(_rutaFoto);
                lblMensaje.ForeColor = System.Drawing.Color.Green;
                lblMensaje.Text = "Casa modificada";
                txtDir.Text = "";
                txtCedula.Enabled = true;
                rfvCedula.Enabled = true;
                rfvDir.Enabled = false;
                rfvFoto.Enabled = false;
                txtDir.Enabled = false;
                flpFoto.Enabled = false;
                ImageCasa.Visible = false;
                cmbCasas.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                lblMensaje.Text = ex.Message;
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            try
            {
                lblMensaje.Text = "";
                int ced = int.Parse(txtCedula.Text);
                Usuario usu = new Usuario();
                usu.Ci = ced;
                List<Casa> listCasas = FabricaLogica.getLogicaCasa().ListarCasas(usu);
                if (listCasas == null)
                {
                    throw new Exception("Usuario no registrado.");
                }
                else
                {
                    cmbCasas.Items.Clear();
                    ListItem i = new ListItem("Seleccione Casa", "Seleccione Casa");
                    cmbCasas.Items.Add(i);
                    int ii = 0;
                    foreach (Casa c1 in listCasas)
                    {
                        ListItem i2 = new ListItem("Casa " + c1.Id + " - " + c1.Direccion, c1.Id.ToString());
                        cmbCasas.Items.Add(i2);
                        Casa aux = FabricaLogica.getLogicaCasa().BuscarCasa(c1.Id);
                        listCasas[ii].Planos = aux.Planos;
                        ii++;
                    }

                }
            }
            catch (Exception ex)
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text = ex.Message;
            }
        }

        protected void btnAux1_Click(object sender, EventArgs e)
        {
            try
            {
                if(cmbCasas.SelectedIndex > 0)
                {
                    ListItem i = cmbCasas.Items[cmbCasas.SelectedIndex];
                    string[] misKeys = i.Value.Split(' ');
                    int i2 = 0;
                    int keyO = 0;
                    foreach (string key in misKeys)
                    {
                        i2++;
                        if (i2 == 1)
                        {
                            keyO = int.Parse(key);

                        }
                    }
                    Casa miCasa = FabricaLogica.getLogicaCasa().BuscarCasa(keyO);
                    idCasa = miCasa.Id;
                    txtDir.Text = miCasa.Direccion;
                    string vol = miCasa.Foto;
                    string sinJ = vol;//.Remove(0, 40);
                    ImageCasa.ImageUrl = sinJ;
                    txtDir.Enabled = true;
                    flpFoto.Enabled = true;
                    rfvDir.Enabled = true;
                    rfvFoto.Enabled = true;
                    txtCedula.Enabled = false;
                    ImageCasa.Visible = true;
                }
                else
                {
                    lblMensaje.ForeColor = System.Drawing.Color.Red;
                    lblMensaje.Text = "Debe seleccionar una Casa";
                    txtDir.Text = "";
                    txtDir.Enabled = false;
                    flpFoto.Enabled = false;
                    rfvDir.Enabled = false;
                    rfvFoto.Enabled = false;
                    txtCedula.Enabled = true;
                    ImageCasa.Visible = false;
                }
            }
            catch (Exception ex)
            {
                lblMensaje.ForeColor = System.Drawing.Color.Red;
                lblMensaje.Text = ex.Message;
            }
        }

    }
}